package com.xunqi.content.service;

import com.github.pagehelper.PageInfo;
import com.xunqi.common.dto.content.ShareAuditDTO;
import com.xunqi.common.dto.content.ShareDTO;
import com.xunqi.common.entity.content.Share;

import javax.servlet.http.HttpServletRequest;

/**
 * @Description:
 * @Created with IntelliJ IDEA.
 * @author: 夏沫止水
 * @create: 2020-04-17 10:41
 **/
public interface ShareService {

    /**
     * 根据id查询
     * @param id
     * @return
     */
    ShareDTO findById(Integer id);


    /**
     * 审核
     * @param id
     * @param auditDTO
     * @return
     */
    Share auditById(Integer id, ShareAuditDTO auditDTO);


    /**
     * 通过带日志的id进行审核内容
     * @param id
     * @param auditDTO
     * @param transactionId
     */
    void auditByIdWithRocketMqLog(Integer id,ShareAuditDTO auditDTO,String transactionId);


    /**
     * 分页查询内容
     * @param title
     * @param pageNo
     * @param pageSize
     * @param userId
     * @return
     */
    PageInfo<Share> q(String title,Integer pageNo,Integer pageSize,Integer userId);


    /**
     * 按id交换
     * @param id
     * @param request
     * @return
     */
    Share exchangeById(Integer id, HttpServletRequest request);
}
